/*
题目：删除链表中的重复元素Ⅱ
给定一个已排序的链表的头 head ， 删除原始链表中所有重复数字的节点，只留下不同的数字 。返回 已排序的链表 。
 */
public class DeleteDuplicatesⅡRec {
    public ListNode deleteDuplicates(ListNode head) {
        //递归法
        if (head == null || head.next == null)  return head;
        if (head.val != head.next.val) {
            head.next = deleteDuplicates(head.next);
            return head;
        } else {
            int x = head.val;
            while (head != null && head.val == x) {
                head = head.next;
            }
            //如果删掉了，那么更新后的第一个节点也要跟着判断
            return deleteDuplicates(head);
        }
    }
} 
